/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ADO;

import Entidades.Usuario;
import Entidades.*;
import java.sql.*;


public class Usuarios {

    private Connection conexion;

    public Usuarios() {
        try {
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            conexion = DriverManager.getConnection("jdbc:derby:.\\DB\\PGG");
            conexion.setAutoCommit(false);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public boolean existeUsr(String usr) {
        ResultSet rs = null;
        boolean res=true;
        PreparedStatement ps;

        String sentencia = "Select count(usuario) cantidad from usuarios where usuario=?";
        try {
            ps = conexion.prepareStatement(sentencia);
            ps.setString(1, usr);
            rs = ps.executeQuery();
            if(rs.next()) {
                int met = rs.getInt("cantidad");
                if (met == 1) {
                    res=false;
                }
            }
            rs.close();
            ps.close();
            conexion.commit();
            conexion.close();
        } catch (java.sql.SQLException e) {
            e.printStackTrace();
        }
        return res;

    }

    public void insertarUss(Usuario u) {
        PreparedStatement ps;
        String insert = "insert into APP.usuarios (usuario,password) values(?,?)";
        try {//puede q falte un ; al final de la sentencia sql
            ps = conexion.prepareStatement(insert);

            ps.setString(1, u.getUsser());
            ps.setString(2, u.getPass());
            
            ps.execute();
            ps.close();
            conexion.commit();
            conexion.close();
        } catch (java.sql.SQLException e) {
            e.printStackTrace();
        }
    }

    public Usuario usuarioX(Usuario u) {
        ResultSet rs = null;
        Usuario usr = null;
        PreparedStatement ps;

        String sentencia = "Select usuario, password from usuarios where usuario=?";
        try {
            ps = conexion.prepareStatement(sentencia);
            ps.setString(1, u.getUsser());
            rs = ps.executeQuery();
            if (rs.next()) {
                String us = rs.getString("usuario");
                String pass = rs.getString("password");                
                usr = new Usuario(us, pass);
            }
            conexion.commit();
            conexion.close();
        } catch (java.sql.SQLException e) {
            e.printStackTrace();
        }
        return usr;
    }
}
